import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class ManipuladorEmail {
    
	private String emailRemetente = "sd2014.trab.brunoc.thiagoa@gmail.com";
	private String senhaRemetente = "258654Asd";
	
	public static void main(String args[]) throws Exception {
		//System.out.println("\n\n	ME - Manipulador Iniciado!");
		ManipuladorEmail email = new ManipuladorEmail();
		boolean teste = email.enviarEmail("Teste", "thiagovaguiar@yahoo.com.br");
		System.out.println(teste);
    }
	
	public ManipuladorEmail(){
		System.out.println("\n\n	ME - Manipulador Iniciado!");
	}
	
	public boolean enviarEmail(String Msg, String Dest) {
		System.out.println("\n\n	ME - Iniciando envio de E-mail!");
		Properties props = new Properties();
		/** Parâmetros de conexão com servidor Gmail */
		props.put("mail.smtp.host", "smtp.gmail.com");
		props.put("mail.smtp.socketFactory.port", "465");
		props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
		props.put("mail.smtp.auth", "true");
		props.put("mail.smtp.port", "465");

		Session session = Session.getDefaultInstance(props,
			new javax.mail.Authenticator() {
				 protected PasswordAuthentication getPasswordAuthentication() 
				 {
					   return new PasswordAuthentication(emailRemetente, senhaRemetente);
				 }
			});

		/** Ativa Debug para sessão */
		session.setDebug(true);

		try {
			Message message = new MimeMessage(session);
			message.setFrom(new InternetAddress(emailRemetente)); //Remetente

			Address[] toUser = InternetAddress.parse(Dest);  

			message.setRecipients(Message.RecipientType.TO, toUser);
			message.setSubject("[SD-2014] - Trabalho - Bruno Cotrin, Thiago Aguiar");//Assunto
			message.setText(Msg);

			/**Método para enviar a mensagem criada*/
			Transport.send(message);

			//System.out.println("Feito!!!");
			return true;
		 } catch (MessagingException e) {
			//throw new RuntimeException(e);
			return false;
		}
	}
}